Multicast traffic (e.g., IPTV (Internet Protocol Television)) is distributed to multicast hosts using IP multicast technology. A multicast host joins a particular multicast group (e.g., a particular IPTV channel) by transmitting a multicast membership report message (e.g., using IGMP (Internet Group Management Protocol) described in RFC 3376, “Internet Group Management Protocol, Version 3”, October 2002; or MLD (Multicast Listener Discovery) described in RFC 3810, “Multicast Listener Discovery Version 2 (MLDv2) for IPv6”, June 2004) (it should be understood that previous versions of IGMP and MLD may also be used) that indicates the multicast group to be joined which is propagated through the network to the multicast source. A multicast host can leave a multicast group by transmitting a multicast membership report message (e.g., using IGMP or MLD) that indicates the multicast group to be left, which may be propagated through the network to the multicast source.
A multicast router manages the membership of multicast hosts and their groups and performs the functions of a multicast router as defined in RFC 3376 or 3810. For example, the multicast router maintains a forwarding table which indicates which multicast hosts are interested in receiving data traffic for which multicast groups, based on the multicast membership report messages received from the multicast hosts. When a multicast router receives a multicast membership report message that indicates that a multicast host has left a multicast group, the multicast router can respond by transmitting a multicast membership group-specific query message to that multicast host confirming the multicast host has left the multicast group. A multicast membership group-specific query message is sent to learn the reception state of a multicast host with respect to a single multicast group (that multicast group is indicated in the multicast membership group-specific query message). In addition to the multicast router managing the membership of multicast hosts, different equipment in the network maintains multicast membership of the multicast hosts (e.g., a forwarding table which indicates which multicast hosts are interested in receiving data traffic for which multicast groups).
The multicast hosts need to periodically refresh their multicast membership state by periodically transmitting multicast membership report messages for the multicast group that indicate that they are still interested in receiving the data traffic for that multicast group. If a multicast host does not refresh their multicast membership state for a particular multicast group, the state will expire and that multicast host will stop receiving the multicast data traffic for that multicast group. In an IPTV network, the multicast hosts rely on the multicast router periodically transmitting a multicast membership general query message in order to renew their membership state. A multicast membership general query message is sent by the multicast router to learn the complete multicast reception state of a multicast host.
A subscriber is an entity (e.g., a person, a company, a household) that has one or more multicast hosts. The multicast router may also terminate the sessions for the subscribers and perform other services including AAA (Authentication, Authorization, and Accounting) processing. AAA processing can be provided through a client/server model, where the AAA client is implemented on the multicast router and the AAA server can be implemented either locally on the multicast router or on a remote end station (e.g., server end station) coupled with the multicast router and information provided through a AAA protocol (e.g., RADIUS (Remote Authentication Dial-In User Service), Diameter, and/or TACAS+(Terminal Access Controller Access Control System)). Authentication is the process of identifying and verifying a subscriber. For instance, a subscriber might be identified by a combination of a username and a password or through a unique key. Authorization determines what a subscriber can do after being authenticated, such as gaining access to certain end station information resources (e.g., through the use of access control policies). Accounting is recording user activity. AAA processing is performed to identify the subscriber record for a subscriber. A subscriber record includes a set of attributes (e.g., subscriber name, password, authentication information, access control information, rate-limiting information, policing information, etc.) used during processing of that subscriber's traffic. In particular, each of the subscribers has a bandwidth limit, which may be the size of the physical connection between the customer premise equipment of a subscriber and the access network or may be a function of a service level.
In some network topologies, the multicast router is located between the multicast source and the multicast hosts (the multicast source is located behind the multicast router). In such a topology, the multicast router receives the multicast membership report messages from the multicast hosts and can determine whether to process and forward those report messages to the multicast source to enable the multicast data traffic to be transmitted to the multicast hosts. The multicast router may determine not to process and forward a multicast membership report message to the multicast source if it determines that doing so would exceed the bandwidth limit of the subscriber whose multicast host transmitted the multicast membership report message. Thus in this topology, the multicast router can directly control the multicast group membership of the multicast hosts.
In other network topologies, the multicast source is located between the multicast router and the multicast hosts. In such a topology, the multicast data traffic does not flow through the multicast router. In addition, the multicast membership report messages are propagated to the multicast source without first being forwarded through the multicast router (the multicast router may also receive the multicast membership report messages). As a result, the multicast hosts can join a multicast group without the multicast router determining whether to accept or deny a multicast host from joining a multicast group. For example, the multicast router may be coupled with a multicast enabled layer 2 device that performs multicast snooping and is located between the multicast router and the multicast source. The multicast snooping may be performed as described in RFC 4541, “Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches”, May 2006. The layer 2 network element is coupled with an access network (e.g., one or more access network elements such as one or more DSLAMs (Digital Subscriber Line Access Multiplexer), CMTSs (Cable Modem Termination System), and/or OLTs (Optical Line Terminals)) through which the multicast hosts are coupled. The layer 2 network element receives the multicast membership report messages and floods them towards the multicast source and to the multicast router. Upon receiving a multicast membership report message for a multicast group from a multicast host, the multicast source begins streaming the multicast data traffic for that multicast group to that multicast host. In such a topology, since the multicast source is not behind the multicast router, the multicast router cannot ignore or drop the multicast membership report messages to prevent subscribers from exceeding their bandwidth limit due to their multicast host(s) oversubscribing to multicast groups. Oversubscribing to multicast groups can cause congestion and packet loss in the access network.